projects
/
xen.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f3eb58e
)
x86: Fix PV guest xsave support.
author
Keir Fraser
<keir@xen.org>
Mon, 8 Nov 2010 15:41:01 +0000
(15:41 +0000)
committer
Keir Fraser
<keir@xen.org>
Mon, 8 Nov 2010 15:41:01 +0000
(15:41 +0000)
Signed-off-by: Shan Haitao <haitao.shan@intel.com>
xen/arch/x86/domain.c
patch
|
blob
|
history
xen/arch/x86/i387.c
patch
|
blob
|
history
diff --git
a/xen/arch/x86/domain.c
b/xen/arch/x86/domain.c
index 7356efff3f90461ef89857f2aa8b224a74e643a9..d50cbac751106892f94ad248e4cfce581ead1b8a 100644
(file)
--- a/
xen/arch/x86/domain.c
+++ b/
xen/arch/x86/domain.c
@@
-395,7
+395,7
@@
int vcpu_initialise(struct vcpu *v)
rc = 0;
if ( is_pv_32on64_vcpu(v) )
rc = setup_compat_l4(v);
- if (
!
rc )
+ if ( rc )
xfree(v->arch.xsave_area);
return rc;
diff --git
a/xen/arch/x86/i387.c
b/xen/arch/x86/i387.c
index 27b49234ede8abdd4b02f9197e4bb9f21752e655..1398b8fa5bf7e1343d2e60b7205eb69f0a65b054 100644
(file)
--- a/
xen/arch/x86/i387.c
+++ b/
xen/arch/x86/i387.c
@@
-209,6
+209,7
@@
void xsave_init_save_area(void *save_area)
memset(save_area, 0, xsave_cntxt_size);
((u32 *)save_area)[6] = 0x1f80; /* MXCSR */
+ *(uint64_t *)(save_area + 512) = XSTATE_FP_SSE; /* XSETBV */
}
/*